package com.qf.homework.dao;

import com.qf.homework.entity.Book;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface BookDao {
    /**
     * 分批查询 每次从con1条开始 查询con2条数据
     * @param con1
     * @param con2
     * @return
     */
    public List<Book> getBooks(@Param("con1")Integer con1,@Param("con2")Integer con2);

    public Book getBookById(@Param("id")Integer id);

    /**
     * 根据book对象进行查询
     * 需求：如果book对象中的name不为空  namewhere子句中包含name=？
     *
     * @param book
     * @return
     */
    public List<Book> selectBookByCondition(Book book);

    /**
     * 根据传入的book对象进行书籍信息的更新
     * 需求：根据id更新 id必传
     * 其他字段
     * @param book
     * @return
     */
    public int updateBookByCondition(Book book);

    /**
     * 批量插入
     * 需求：把list中的每个book对象都插入数据库表中
     * @param list 要插入的所有书籍对象
     * @return
     */
    public int insertManyBooks(List<Book> list);

    /**
     * 批量删除数据，根据传入的id的list
     * @param ids
     * @return
     */
    public int deleteBookByIds(@Param("ids") List<Integer> ids);

}
